from fastapi import FastAPI

app = FastAPI()


@app.get("/")
def root():
    return {"msg": "hello ,lxq"}



'''
    运行 uvicorn 命令，启动服务器
    进到 py 文件所属目录的命令行
    
    uvicorn main:app --reload  
    main：main.py 文件（一个 Python「模块」）
    app：在 main.py 文件中通过 app = FastAPI() 创建的对象
    --reload：让服务器在更新代码后自动重新启动，仅在开发时使用该选项
'''

'''
 schema是对事物的一种定义或描述，它并非具体的实现代码，而只是抽象的描述

    API Schema
    OpenAPI 是一种规定如何定义 API Schema 的规范
    定义的 OpenAPI Schema 将包括 API 路径，以及它们可能使用的参数等等
    比如：这个 API 的作用是什么，需要必传哪些参数，请求方法是什么


    Data Schema
    指的是某些数据比如 JSON 的结构
    它可以表示 JSON 的属性及其具有的数据类型
    比如：某个属性的数据类型是什么，有没有默认值，是不是必填，作用是什么
 

    JSON Schema
    OpenAPI 会为 API 定义 API Schema，一般会包括 API 发送和接收的数据的定义，比如：发送的数据的类型、是否必填
    这些定义会以 JSON数据格式展示出来，所以都会称为 JSON Schema

'''